由於工作的緣故,開始學習 objective C。之前只學過 Swift , objective C 對我來說完全是個全新的世界,好多從沒見過的概念QQ,第一次見到的時候,還以為是哪裡來的天書,差點要直接辭職了(喂~。
目前學習大約三個星期左右,是個完完全全的小菜鳥,如果有沒寫好的地方,還請各位前輩幫忙糾正,那事不宜遲開始吧!
文章主要參考:http://tw.gitbook.net/objective_c/home.html
一個 Objective-C program 基本上有以下幾個組成:
以 Hello World 範例
#import <Foundation/Foundation.h>
@interface SampleClass : NSObject
- (void) sampleMethed;
@end
@implementation SampleClass
- (void) sampleMethed {
    NSLog(@"Hello, World! \n");
}
@end
int main() {
    /* my first program in Objective-C */
    SampleClass *sampleClass = [[SampleClass alloc] init];
    [sampleClass sampleMethed];
    return  0;
}
讓我們來看看上述的各個部分
#import <Foundation/Foundation.h> :是 preprocessor command,它告訴編譯器在開始前要包含 Foundation.h 文件。@interface SampleClass:NSObject :顯示如何創建接口,像是一種定義。這個類別(Class)繼承 NSObject(所有物件的基類/基礎)。- (void)sampleMethod; :定義一個方法。@end :表示 interface 的結束。@implementation SampleClass :實現接口 SampleClass,有點像是實體化。(void)sampleMethod{} :method 的具體內容。int main() :是 program 開始開始執行的主要函數。/*...*/ :註解,不會被執行,用來說明。return 0 :終止 main() 並返回 0 。沒加一樣可以執行。結果
Hello, World!
Objective-C 語言包含了各種 token。token 可以是 keyword, 標識符(id), 常量(contant), 字串(string), 符號。
ex.
NSLog(@"Hello, World! \n");
這個範例包含了六種 tokens,讓我們來一一拆解
NSLog
@
(
"Hello, World! \n"
)
;
在 Objective-C 中,分號的意思是語句終止,也就是每個單獨的語句必須以分號作結。
ex. 下面有兩個不同的語句,因此有兩個分號
NSLog(
      @"Hello, World!"
      );
return 0;
主要是用來說明的文字,會被編譯器忽略。
用法:以 /* 和 */ 表示開始跟結束
/* Hello, World */
標識符是用來標識變量、函數或任何其它用戶定義的項目名稱。可以用字母(A~Z)(a~z)、下劃線(_)、數字(0~9),但不能使用如 @、$、% 等符號。
Objective-C可以區分大小寫,因此 Tom 跟 tom 在 Objective-C 是兩種不同的標識符。